home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 38
/
Amiga Format CD38 (1999-03-15)(Future Publishing)(GB)(Track 1 of 3)[!][issue 1999-04].iso
/
-seriously_amiga-
/
programming
/
other
/
cyberxxxsrc
/
decoder
/
txt
/
jpeg.h
< prev
next >
Wrap
C/C++ Source or Header
|
1999-02-08
|
2KB
|
110 lines
#ifndef JPEG_H
#define JPEG_H
#define MAXJSAMPLE 255
#define CENTERJSAMPLE 128
#define RANGE_MASK (MAXJSAMPLE * 4 + 3) /* 2 bits wider than legal samples */
#define JJ_NUM_HUFF_TBLS 4
#define JJ_NUM_QUANT_TBLS 4
#define HUFF_LOOKAHEAD 8
typedef struct HUFFMAN_STRUCT {
long mincode[17];
long maxcode[18];
long valptr[17];
ushort cache[256];
uchar vals[256];
uchar bits[18];
} JJ_HUFF_TBL;
typedef struct COMPONENT_STRUCT {
ulong hvsample;
ulong ac_htbl_num;
ulong dc_htbl_num;
ulong qtbl_num;
ushort id;
long dc;
} COMPONENT_HDR;
#define DCTSIZE 8
#define DCTSIZE2 64
typedef int ISLOW_MULT_TYPE;
/* JPEG MARKERS */
#define M_SOF0 0xc0
#define M_SOF1 0xc1
#define M_SOF2 0xc2
#define M_SOF3 0xc3
#define M_SOF5 0xc5
#define M_SOF6 0xc6
#define M_SOF7 0xc7
#define M_JPG 0xc8
#define M_SOF9 0xc9
#define M_SOF10 0xca
#define M_SOF11 0xcb
#define M_SOF13 0xcd
#define M_SOF14 0xce
#define M_SOF15 0xcf
#define M_DHT 0xc4
#define M_DAC 0xcc
#define M_RST0 0xd0
#define M_RST1 0xd1
#define M_RST2 0xd2
#define M_RST3 0xd3
#define M_RST4 0xd4
#define M_RST5 0xd5
#define M_RST6 0xd6
#define M_RST7 0xd7
#define M_SOI 0xd8
#define M_EOI 0xd9
#define M_SOS 0xda
#define M_DQT 0xdb
#define M_DNL 0xdc
#define M_DRI 0xdd
#define M_DHP 0xde
#define M_EXP 0xdf
#define M_APP0 0xe0
#define M_APP1 0xe1
#define M_APP2 0xe2
#define M_APP3 0xe3
#define M_APP4 0xe4
#define M_APP5 0xe5
#define M_APP6 0xe6
#define M_APP7 0xe7
#define M_APP8 0xe8
#define M_APP9 0xe9
#define M_APP10 0xea
#define M_APP11 0xeb
#define M_APP12 0xec
#define M_APP13 0xed
#define M_APP14 0xee
#define M_APP15 0xef
#define M_JPG0 0xf0
#define M_JPG13 0xfd
#define M_COM 0xfe
#define M_TEM 0x01
#define M_ERROR 0x100
#define xaTRUE 1
#define xaFALSE 0
#define JPG_MAX_COMPS 4
#define JPG_DUMMY_COMP (JPG_MAX_COMPS + 1)
#define JJ_INPUT_CHECK(val) ((jpg_bsize >= (val))?(xaTRUE):(xaFALSE))
#define JJ_INPUT_xaBYTE(var) { var = *jpg_buff++; jpg_bsize--; }
#define JJ_INPUT_xaSHORT(var) { var = (*jpg_buff++) << 8; var |= (*jpg_buff++); jpg_bsize -= 2; }
#define JFIF_APP0_LEN 14
#define xaMIN(x,y) ( ((x)>(y))?(y):(x) )
#define xaMAX(x,y) ( ((x)>(y))?(x):(y) )
#define xaABS(x) (((x)<0)?(-(x)):(x))
#endif